In many situations it is helpful to know both the position and orientation, or attitude, of a device, such as a vehicle. GPS positioning is a common method of calculating position which uses signals received from GPS satellites. In particular, GPS positioning can be performed by measuring the time it takes a signal to travel from a GPS satellite to a GPS receiver and then converting that time into a distance. Calculating the distance from the receiver to several GPS satellites measured at the same time can then produce an estimated position.
GPS satellites can use carrier signals to broadcast their communication messages to Earth. A carrier signal is a signal onto which a satellite encodes the communication message. As a receiver receives a signal, it can measure a carrier phase measurement. The carrier phase measurement can equal the difference between the phase of a receiver-generated signal at the time of reception and the phase of the carrier signal generated by the satellite at the time of transmission.
Because of the ability to accurately measure the carrier phase signal, carrier phase measurements can prove to be helpful in accurately determining range. However, because there is no absolute time information in the carrier phase measurement, it only provides range information to within a constant but unknown integer number of carrier phase cycles. As such, an unknown integer number of carrier signal cycles have occurred prior to the cycle in which the phase is being measured. This unknown integer number causes the carrier phase measurement to be ambiguous and is known as integer ambiguity.
Double differencing is one technique that may be applied to carrier phase measurements. Double differenced carrier phase measurement can be used to determine the relative position of a first receiver with respect to a second receiver. In particular, first single differenced carrier phase measurements can be created by differencing carrier phase measurements for each satellite mutually observed by two GPS receivers. Likewise, second differencing can be accomplished by selecting a reference satellite, and subtracting its single differenced result from all other single differenced satellite carrier phase measurements.
Differencing the first and second single differenced carrier phase measurements can provide a double differenced carrier phase measurement. Using double differenced carrier phase measurements can eliminate errors which are common to both receivers or both satellites, such as clock errors and, in the case that the two receivers are relatively close to one another, atmospheric errors. In particular, the first difference removes satellite errors and the second difference removes receiver errors.
Double differenced carrier phase measurements can also prove useful in relative positioning problems, such as estimating the attitude of a device based upon the relative positions of two receivers. However, double differenced carrier phase measurements still suffer from integer ambiguity. Existing methods for estimating attitude attempt to resolve integer ambiguity within the integer domain. However, resolving integer ambiguity within the integer domain is difficult, requiring large amounts of time, computing power, or other resources. As such, a method for estimating attitude which works entirely within the attitude domain is desired.